package com.party.core.service.gift;

import com.party.core.model.gift.GiftCoupon;
import com.party.core.service.IBaseService;

import java.util.List;

/**
 * @author：yifeng
 * @description： 礼包和票券关系
 * @date：Created in  2017/11/28 下午 15:21
 **/
public interface IGiftCouponService extends IBaseService<GiftCoupon> {
    /**
     * 获取唯一的关系
     *
     * @param giftCoupon
     * @return
     */
    GiftCoupon getUnique(GiftCoupon giftCoupon);

    /**
     * 根据礼包id找关系
     *
     * @param giftId 礼包id
     * @return
     */
    List<GiftCoupon> findByGiftId(String giftId);

    /**
     * 计算该票券一共已分配多少
     *
     * @param couponId 票券id
     * @return
     */
    Long getStockByCouponId(String couponId);

    /**
     * 根据礼包id删除关系
     *
     * @param giftId 礼包id
     */
    void deleteByGiftId(String giftId);

    /**
     * 删除唯一的关系
     *
     * @param giftCoupon
     */
    void deleteByUnique(GiftCoupon giftCoupon);

    /**
     * 根据票券id找关系
     *
     * @param couponId 票券id
     * @return
     */
    List<GiftCoupon> findByCouponId(String couponId);
}
